package edu.cityu.cs.hk.datastructures;
/** 
  * Interface for an adaptable priority queue.
  */

public interface AdaptablePriorityQueue extends PriorityQueue {
  /** Removes and returns an entry from the priority queue. */
  Entry remove(Entry e);
  /** Replaces the key of an entry and returns the old key. */
  Object replaceKey(Entry e, Object key) throws InvalidKeyException;
  /** Replaces the value of an entry and returns the old value. */
  Object replaceValue(Entry e, Object value);
}
